﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Web;

namespace EFMVC.Interface
{
    interface IBaseReposity<T> : IDisposable
        where T : class
    {
        IEnumerable<T> GetUsers();
        T GetUserByID(Guid userID);
        void InsertUser(T user);
        void DeleteUser(int userID);
        void UpdateUser(T user);
        void Save();
        IEnumerable<T> Get(Expression<Func<T,bool>> filter=null,
            Func<IQueryable<T>,IOrderedQueryable<T>> orderBy=null,
         string includeProperties="");
    }
}